<?php
namespace Kuoqi;
//接管params:$INPUT_GETS,$INPUT_POSTS数据
class Input
{
	static public $Dget=array(),$Dpost=array(),$Dreq=array();
	static public $REQ_INIT=false;//是否已经初始化

    /**
     * @param $param
     * @param $default
     * @param $delFunc
     * @param $isOpt
     * @return Input\Client
     * User kuoqi
     * Datetime 2022/3/1 17:22
     * Remark 初始化参数信息，根据四格参数来初始化
     */
	static public function initParam($param,$default,$delFunc,$isOpt){
		$client =  new Input\Client;
		$client->setParamstr($param);
		$client->setDefault($default);
		$client->setCheckfunc($delFunc);
		$client->isOpt = $isOpt;
		return $client;
	}

    /**
     * 输出参数的总方法，对接helper
     * @param $clt
     * @return null|string
     * @throws Error
     */
	static public function outputParam($clt){
	    $opt = '';
		switch($clt->method){
			case 'get':
				$code = '$opt = isset(\Kuoqi\Params::$INPUT_GETS'.$clt->routestr.')?\Kuoqi\Params::$INPUT_GETS'.$clt->routestr.':NULL;';
			break;
			case 'post':
			$code = '$opt = isset(\Kuoqi\Params::$INPUT_POSTS'.$clt->routestr.')?\Kuoqi\Params::$INPUT_POSTS'.$clt->routestr.':NULL;';
			break;
			default:
			    $arr = \Kuoqi\Config::getInputrequest();
			$code = '$opt = isset($arr'.$clt->routestr.')?$arr'.$clt->routestr.':NULL;';
		}
		$status = @eval($code);
		if($status===false){
			throw new Error('【\Kuoqi\Inputs】'.serialize($code));
			$clt->value =  null;
		}else{
			if($opt!==null){
				$clt->value =  $opt;	
			}else{
				$clt->value =  null;	
			}	
		}
		$clt->checkFunction();//检查控制方法
		$clt->checkDefault();//检查默认字段信息
		return $clt->value;
	}



//
//
//	static public function getAParams_init()
//	{
//		foreach(self::$Dget as $k=>$v){
//			self::$Dreq[$k] = $v;
//		}
//		foreach(self::$Dpost as $k=>$v){
//			self::$Dreq[$k] = $v;
//		}
//	}
//	static public function getGParams()
//	{
//		return self::output(self::$Dget);
//	}
//	static public function getGParam($n)
//	{
//		return self::output(isset(self::$Dget[$n])?(self::$Dget[$n]):null);
//	}
//	static public function getPParams()
//	{
//		return self::output(self::$Dpost);
//	}
//	static public function getPParam($n)
//	{
//		return self::output(isset(self::$Dpost[$n])?self::$Dpost[$n]:null);
//	}
//	static public function getAParams()
//	{
//		self::$REQ_INIT||self::getAParams_init();
//		return self::output(self::$Dreq);
//	}
//	static public function getAParam($n)
//	{
//		self::$REQ_INIT||self::getAParams_init();
//		return self::output(isset(self::$Dreq[$n])?self::$Dreq[$n]:null);
//	}
//	static public function setGParams($a)
//	{
//		self::$Dget = array_merge(self::$Dget,$a);
//	}
//	static public function setGparam($n,$v)
//	{
//		self::$Dget[$n] = $v;
//	}
//	static public function setPParams($a)
//	{
//		self::$Dpost = array_merge(self::$Dpost,$a);
//	}
//	static public function setPParam($n,$v)
//	{
//		self::$Dpost[$n] = $v;
//	}
//	static public function setAParams($a)
//	{
//		self::$Dreq = array_merge(self::$Dreq,$a);
//	}
//	static public function setAParam($n,$v)
//	{
//		self::$Dreq[$n] = $v;
//	}
//	//简单加密
//	static public function encode($code){
//		return base64_encode(json_encode($code));
//	}
//	//简单解密
//	static public function decodes($code){
//		//2020-05-24
//		//暂时取消该功能,取消原因，经不起考验，建议不要同时使用两个
//		return NULL;
//	}
//	//简单md5加密
//	static public function md5code($code){
//		if(is_array($code)){
//			$code = implode('#',$code);
//			return md5($code);
//		}
//	}
//	//富文本内容解析
//	static public function conts_decode($text)
//	{
//		return \Kuoqi\Inputs::safe_decode($text);
//	}
	
}	